1. Field of the Invention This invention relates to computer database systems in general and to the entry, update, and review of data in hierarchically-organized database views in particular.
2. Background of the Invention
One of the most challenging problems a software developer faces when designing a database system is creating a data entry mechanism that allows users to efficiently record information. In many environments, users operate under significant time pressures and are unwilling or unable to spend time on laborious data entry procedures. In order for a data entry mechanism to be effective, it must be fast, complete, and reconfigurable. In many cases, the data entry mechanism must also map onto small display screens or onto limited space within larger screens. This requirement has become increasingly important as more and more users take their computer systems with them as they move between work environments throughout the day. These highly mobile computing systems (e.g., hand-held computers) require data entry mechanisms that use screen space very economically. The same is true when data entry is performed within the context of screen-intensive imaging and graphics applications--when entering data while viewing digitized X-ray images, for example.
Most existing database systems use a forms-based data entry mechanism. Unfortunately, forms-based techniques fail to satisfy the requirements listed above. Most databases include a large number of fields (categories) and elements. Since the number of fields that can be displayed on a form at any one time is very small, a user must navigate through multiple complex forms in order to enter data. In addition, forms-based systems are difficult, if not impossible, to reconfigure without programming.
Some existing database systems use data navigation mechanisms that are based on hierarchically-organized views of the data. Note that we are discussing how the data is viewed, not how the data is structured within the database. Hierarchical views can be created for a variety of data structures (e.g., relational tables, hierarchical data structures, and network data structures).
One set of prior art techniques for navigating through hierarchically-organized database views is based on a diagrammatic representation of the hierarchy as a whole (FIG. 1). In these techniques, a user moves around the hierarchy by selecting nodes on the diagram using a mouse or other pointing device. Since the hierarchy is very large, only those nodes that lie near the last node selected are displayed (FIG. 2). The user can manually move the viewing window around (using scroll bars, for instance) and can reveal or hide levels of the hierarchy diagram by manually opening or closing nodes.
These techniques are designed to allow a user to view data elements in the context of the overall structure of the hierarchy and to visualize the logical relationships between data elements. However, the emphasis on overall structure makes these approaches ill-suited to the task of data entry. As the user moves down the hierarchy, he sees not only the nodes that represent possible choices for the next selection, but also large amounts of information that are irrelevant to the current data being entered. In addition, because much of the hierarchy diagram must, by necessity, be off-screen at any point in time, it is often difficult for the user to ascertain how he has reached a particular point in the hierarchy or how the displayed information fits within the overall structure.
A second set of prior art techniques for navigating through hierarchically-organized database views restrict navigation to movement up and down along the branches in the hierarchy. The contents of the levels that lie along the current branch are then displayed as cascading windows 31 or menu lists 32 (FIG. 3). An example of this kind of system can be found in U.S. Pat. No. 5,715,449 to Peters et al., which discloses a browser tree structure for limiting how information is entered into a medical database. In the preferred mode, the system presents the person inputting the data with a limited number of choices of data to be entered, from which the operator selects specific phrases descriptive, for example, of the health care provider's observations or instructions. These techniques improve somewhat the ease with which a user can identify the current set of choices by placing possible candidates in the topmost window or rightmost list. However, these techniques are still unnecessarily wasteful of screen space. Much of the screen is cluttered with unselected choices at each of the levels that lie along the current branch. Equally important, navigation remains difficult because important navigational guides for moving back up the hierarchy--the nodes selected along the current path, for instance--are frequently hidden under a window or pushed off-screen entirely.
Also, present navigational techniques for hierarchical file directory structures that display the names of the files in a selected directory along with the path to that directory are limited to file selection, and do not address the entry or review of database information.